﻿@using System.Web.Script.Serialization
@using KMF.Common
@using KMF.WebUI.Areas.KMFadmin.Models
@using KMF.WebUI.Areas.KMFadmin.CustomHelpers
@model ProductCategoryDto
@{
    ViewBag.Title = "Sửa danh mục";
    Layout = "~/Areas/KMFadmin/Views/Shared/_Layout.cshtml";
    var jsSerializer = new JavaScriptSerializer();
    var errorInfo = jsSerializer.Serialize(TempData["updateInfo"] ?? -1);
}

@section LeftMenu
{
    <div id="left">
        <div class="LeftMenuWraper">
            <div class="leftMenuHeader">
                <span style="padding-left: 10px;">
                    <strong>Truy cập nhanh</strong>
                </span>
            </div>
            <ul id="p-quick-menu" class="quick-menu">
                <li class="qmn-info-pro">Thông tin danh mục</li>
                <li class="qmn-seo-pro">Khuyến mại</li>
                <li class="qmn-seo-pro">Quà tặng</li>
                <li class="qmn-seo-pro">Template</li>
                <li class="qmn-seo-pro sub-template">Template con</li>
            </ul>
            <div class="leftMenuFooter"></div>
        </div>
    </div>
    <!-- END #left -->
}

<nav>
    <div id="jCrumbs" class="breadCrumb module">
        <ul>
            <li><a href="@Url.Action("Index", "AdminHome")"><i class="bootstrap icon-home"></i></a></li>
            <li><a href="javascript:void(0)">Sản phẩm</a> </li>
            <li><a href="@Url.Action("Index", "AdminProductCategory")">Danh mục sản phẩm</a> </li>
            <li><a href="@Url.Action("EditCategory", "AdminProductCategory",new {id = Model.Id})">Sửa danh mục</a> </li>
        </ul>
    </div>
</nav>

<div class="toolBox">
    @Html.ToolBox(new List<object> { new Save() { ClassCss = "Save", ActionName = "Javascript:void(0)" }, new Back { ClassCss = "Back", ActionName = @Url.Action("Index", "AdminProductCategory") } })
</div>

<div class="box-Info">
    <div class="Info-header">
        <span>Chỉnh sửa danh mục </span>
    </div>
    <div class="Info-body">
        <div class="error-info">
            @errorInfo
        </div>
        @using (Html.BeginForm("EditCategory", "AdminProductCategory", FormMethod.Post, new { @class = "formAddCate", enctype = "multipart/form-data" }))
        {
            @Html.HiddenFor(m => m.Id, new { @class = "categoryIdInfo" })
            <fieldset class="specBox">
                <legend>Cấu hình:</legend>
                <div class="specItem">
                    <span>Kích hoạt: </span>
                    @Html.CheckBoxFor(m => m.Active)
                </div>
                <div class="specItem">
                    <span>Hiển thị trên trang chủ: </span>
                    @Html.CheckBoxFor(m => m.ShowHome)
                </div>
                <div class="specItem">
                    <span>Nổi bật: </span>
                    @Html.CheckBoxFor(m => m.IsHot)
                </div>
            </fieldset>
            <table cellpadding="0" cellspacing="0" width="100%" border="0" class="table-info">
                <tr>
                    <td class="tInfoLeft">Tên danh mục
                    </td>
                    <td class="tInfoRight">
                        @Html.TextBoxFor(m => m.Name)
                        @Html.ValidationMessageFor(m => m.Name)
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Danh mục cha
                    </td>
                    <td class="tInfoRight">
                        @Html.DropDownListFor(m => m.ParentId, new SelectList(((List<ProductCategoryDto>)(ViewBag.ParentList)) ?? new List<ProductCategoryDto>(), "Id", "Name"))

                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Mô tả
                    </td>
                    <td class="tInfoRight">
                        @Html.TextAreaFor(m => m.Summary, new { @class = "texareaCss" })
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Mô tả danh muc
                    </td>
                    <td class="tInfoRight">
                        <textarea class="ckeditor" rows="5" cols="60" id="editor1" name="SummaryCate">@Model.SummaryCate</textarea>
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Nội dung
                    </td>
                    <td class="tInfoRight">
                        <textarea class="ckeditor" rows="10" cols="60" id="editor2" name="Description">@Model.Description</textarea>
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Khoảng giá
                    </td>
                    <td class="tInfoRight">
                        @Html.TextBoxFor(m => m.PriceRanges)
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Icon
                    </td>
                    <td class="tInfoRight">
                        @Html.TextBoxFor(m => m.Icon, new { @style = "width:150px" })
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Ảnh đại diện
                    </td>
                    <td class="tInfoRight">
                        <input type="file" name="fileImagePath" />
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Meta title
                    </td>
                    <td class="tInfoRight">
                        @Html.TextBoxFor(m => m.MetaTitle, new { @onkeyup = "countTextAreaChar(this, 70,'countNewsMetaTitle')" })<br />
                        <input readonly="readonly" class="cssInputHidden" type="text" name="countNewsMetaTitle" size="3" maxlength="3" style="width: 53px; height: 23px; margin: 0px; padding: 0px 0px 0px 10px;" value="0">
                        ký tự. Hầu hết các công cụ tìm kiếm sử dụng tối đa <span style="color: red;">70</span> ký tự cho tiêu đề
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Meta description
                    </td>
                    <td class="tInfoRight">
                        @Html.TextAreaFor(m => m.MetaDescription, new { @class = "texareaCss", @onkeyup = "countTextAreaChar(this, 160,'countNewsMetaDesc')" })
                        <br />
                        <input readonly="readonly" class="cssInputHidden" type="text" name="countNewsMetaDesc" size="3" maxlength="3" style="width: 53px; height: 23px; margin: 0px; padding: 0px 0px 0px 10px;" value="0">
                        ký tự. Hầu hết các công cụ tìm kiếm sử dụng tối đa <span style="color: red;">160</span> ký tự cho các mô tả
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Meta keyword
                    </td>
                    <td class="tInfoRight">
                        @Html.TextAreaFor(m => m.MetaKeyword, new { @class = "texareaCss" })
                    </td>
                </tr>

                <tr>
                    <td class="tInfoLeft">Thứ tự
                    </td>
                    <td class="tInfoRight">
                        @Html.TextBoxFor(m => m.Ordering, new { @class = "txtOrdering" })
                        @Html.ValidationMessageFor(m => m.Ordering)
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Thứ tự Trên Trang chủ
                    </td>
                    <td class="tInfoRight">
                        @Html.TextBoxFor(m => m.OrderOnHome, new { @class = "txtOrdering" })
                    </td>
                </tr>
                @*<tr>
                    <td class="tInfoLeft">Kích hoạt
                    </td>
                    <td class="tInfoRight">
                        @Html.CheckBoxFor(m => m.Active)
                    </td>
                </tr>
                <tr>
                    <td class="tInfoLeft">Hiển thị trên trang chủ
                    </td>
                    <td class="tInfoRight">
                        @Html.CheckBoxFor(m => m.ShowHome, new { @checked = "checked" })
                    </td>
                </tr>*@
            </table>
        }
    </div>
</div>

<input type="hidden" id="discountId" value="@ViewBag.DiscountId" />
<div class="box-Info" style="display: none;">
    <div class="Info-header">
        <span>Khuyến mại</span>
    </div>
    <div class="Info-body ib-infoseo">
        <table class="table-odd table-plist">
            <colgroup>
                <col style="width: 30px" />
                <col style="width: 300px" />
                <col />
                <col />
                <col />
                <col />
                <col />
                <col />
            </colgroup>
            <tr>
                <th scope="col"></th>
                <th scope="col">Tên chiến dịch</th>
                <th scope="col">Sử dụng %</th>
                <th scope="col">% chiết khấu</th>
                <th scope="col">Số tiền chiết khấu</th>
                <th scope="col">Ngày bắt đầu</th>
                <th scope="col">Ngày kết thúc</th>
                <th scope="col"></th>
            </tr>
            @foreach (var item in (List<DiscountDto>)ViewBag.DiscountList)
            {
                <tr class="@string.Format("bn-{0}", item.DiscountId)">
                    <td>
                        <input type="radio" name="DiscountId" value="@item.DiscountId" class="pDiscount"/>
                    </td>
                    <td>
                        @item.Name
                    </td>
                    <td>
                        <input type="checkbox" name="UsePercent" @string.Format("{0}", item.UsePercentage ? "checked" : "")/>
                    </td>
                    <td>
                        @item.DiscountPercentage.ToString("#,###")
                    </td>
                    <td>
                        @item.DiscountAmount.ToString("#,###")
                    </td>
                    <td>
                        @item.StartDate.ToString("dd/MM/yyyy")
                    </td>
                    <td>
                        @item.EndDate.ToString("dd/MM/yyyy")
                    </td>
                    <td>
                        <a href="@Url.Action("EditDiscount", "AdminDiscount", new { id = item.DiscountId })" title="chỉnh sửa" class="icon-edit-v2 fl-l bootstrapTangoSmall"></a>
                        @Ajax.ActionLink("Xóa", "DeleteDiscountApplyCategory", "AdminProductCategory", new { discountId = item.DiscountId, categoryId = Model.Id }, new AjaxOptions
                                                                                                 {
                                                                                                     Confirm = "Bạn chắc chắn không muốn áp dụng chiết khấu này!",
                                                                                                     OnSuccess = "AjaxReturnDataDeleteDiscountApplyCate"
                                                                                                 }, new { @class = "icon-delete fl-l bootstrapTangoSmall", title = "xóa" })

                    </td>
                </tr>
            }
        </table>
    </div>
</div>

<input type="hidden" id="giftId" value="@ViewBag.GiftId" />
<div class="box-Info" style="display: none;">
    <div class="Info-header">
        <span>Quà tặng</span>
    </div>
    <div class="Info-body ib-infoseo">
        <table class="table-odd table-plist">
            <colgroup>
                <col style="width: 30px" />
                <col style="width: 300px" />

                <col />
                <col />
                <col />
                <col />
            </colgroup>
            <tr>
                <th scope="col">STT</th>
                <th scope="col">Tên chiến dịch Gift</th>

                <th scope="col">Mô tả</th>
                <th scope="col">Ngày bắt đầu</th>
                <th scope="col">Ngày kết thúc</th>
                <th scope="col"></th>
            </tr>
            @foreach (var item in (List<GiftDto>)ViewBag.GiftList)
            {
                <tr class="@string.Format("gn-{0}", item.GiftId)">
                    <td>
                        <input type="radio" name="GiftId" value="@item.GiftId" class="pGift"/>
                    </td>
                    <td>
                        @item.Name
                    </td>
                    <td>
                        @item.Description
                    </td>
                    <td>
                        @item.StartDate.ToString("dd/MM/yy")
                    </td>
                    <td>
                        @item.EndDate.ToString("dd/MM/yy")
                    </td>
                    <td>
                        <a href="@Url.Action("EditGift", "AdminGift", new { id = item.GiftId })" title="chỉnh sửa" class="icon-edit-v2 fl-l bootstrapTangoSmall"></a>
                        @Ajax.ActionLink("Xóa", "DeleteGiftApplyCategory", "AdminProductCategory", new { giftId = item.GiftId, categoryId = Model.Id }, new AjaxOptions
                                                                                                 {
                                                                                                     Confirm = "Bạn chắc chắn không muốn áp dụng chiến dịch quà tặng này!",
                                                                                                     OnSuccess = "AjaxReturnDataDeleteGiftApplyCate"
                                                                                                 }, new { @class = "icon-delete fl-l bootstrapTangoSmall", title = "xóa" })

                    </td>
                </tr>
            }
        </table>
    </div>
</div>

@Html.Action("CateTemplate", new { cateId = Model.Id })

<div class="box-Info" id="sub-category-template" style="display: none;"></div>
<!-- END SUB CATEGORY TEMPLATE -->

@section scripts
{
    @Scripts.Render("~/bundles/KMFAdmin/jqueryval")
    <script src="@Url.Content("~/Areas/KMFadmin/Scripts/WYSIWYG/ckeditor/ckeditor.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Areas/KMFadmin/Scripts/WYSIWYG/ckfinder/ckfinder.js")" type="text/javascript"></script>
    <script type="text/javascript">
        var editor = CKEDITOR.replace('editor2');
        CKFinder.setupCKEditor(editor, '/Areas/KMFadmin/Content/WYSIWYG/ckfinder/');
    </script>
    <script>
        $(function () {
            $('ul li.Save a').click(function () {
                $('form').submit();
            });
            var errorInfo = @errorInfo;
            if(errorInfo == 0) {
                $('.error-info').text('Cập nhật thông tin không thành công, đã có lỗi xảy ra!');
            }
            else if(errorInfo == 1) {
                $('.error-info').text('Cập nhật thông tin thành công!');
            } else{
                $('.error-info').text('');
            }
        });

        // Khuyến mại ----------------------------------------------
        var pDiscountVal = $('#discountId').val();
        $('.pDiscount').each(function() {
            var val = $(this).val();
            if(val == pDiscountVal) {
                $(this).attr('checked', 'checked');
            }
        });

        $('.pDiscount').click(function() {
            var discountId = $(this).val();
            var categoryId = $('.categoryIdInfo').val();
            
            $.ajax({
                url: '/KMFadmin/AdminProductCategory/UpdateDiscountApplyCate',
                data: { discountId : discountId, categoryId : categoryId },
                success: function(data) {
                    if(data) {
                        alert('Cập nhật thông tin khuyến mại thành công!');
                    }
                },
                error: function () {
                    alert('Đã có lỗi xảy ra!');
                }
            });
            
        });

        // Quà tặng -----------------------------------------------
        var pGiftVal = $('#giftId').val();
        
        $('.pGift').each(function() {
            var val = $(this).val();
            if(val == pGiftVal) {
                $(this).attr('checked', 'checked');
            }
        });
        
        $('.pGift').click(function() {
            var giftId = $(this).val();
            var categoryId = $('.categoryIdInfo').val();
            $.ajax({
                url: '/KMFadmin/AdminProductCategory/UpdateGiftApplyCate',
                data: { giftId: giftId, categoryId: categoryId },
                success: function(data) {
                    if(data) {
                        alert('Cập nhật thông tin quà tặng thành công!');
                    }
                },
                error: function() {
                    alert('Đã có lỗi xảy ra!');
                }
            });
        });
        
        // Bỏ chọn chiết khấu áp dụng tới danh mục -----------------------------------------
        function AjaxReturnDataDeleteDiscountApplyCate(result) {
            if(result.Data) {
                var discountId = result.DiscountId;
                $('tr.bn-' + discountId).children().children('.pDiscount').removeAttr('checked');
            }
        }
        
        // Bỏ chọn chiến dịch quà tặng áp dụng tới danh mục --------------------------------
        function AjaxReturnDataDeleteGiftApplyCate(result) {
            if(result.Data) {
                var giftId = result.GiftId;
                $('tr.gn-' + giftId).children().children('.pGift').removeAttr('checked');
            }
        }

        /*
            ADD TEMPLATE TO CATEGORY -------------------------------------------------------
        */
        function AjaxResultDataAddCateTemplate(data) {
            if (data.Success) {
                var id = data.Id;
                var currentDate = new Date();
                $.ajax({                    
                    url: '/KMFadmin/AdminProductCategory/GetCateTemplate',
                    data: { id :  id, currentDate : currentDate.getTime() },
                    success: function(data) {
                        $('.cate-temlate-list > table tr').eq(0).after(data);
                        $('table.table-cate-template tr.ct-' + id).fadeIn(500);
                    },
                    error: function() {
                        alert('Đã có lỗi xảy ra!');
                    }
                });
            } else {
                alert('Đã có lỗi xảy ra!');
            }
        }

        function AjaxReturnDataDeleteCateTemplate(data){
            if (data.Success) {
                $('table.table-cate-template tr.ct-' + data.Id).fadeOut().remove();
            } else {
                alert('Đã có lỗi xảy ra!');
            }
        }
        
        /*
            EDIT CATEGORY TEMPLATE --------------------------------------------------------------
        */
        function AjaxReturnDataEditCateTemplate(data) {
            $('#wraper').after(data);
        }
        
        function AjaxResultDataUpdateCateTemplate(data){
            if(data.Success){
                var id = data.Item.Id;
                var currentDate = new Date();

                $.ajax({                    
                    url: '/KMFadmin/AdminProductCategory/GetCateTemplate',
                    data: { id :  id, currentDate : currentDate.getTime() },
                    success: function(data) {
                        $('table.table-cate-template tr.ct-' + id).remove();
                        $('.cate-temlate-list > table tr').eq(0).after(data);
                        $('table.table-cate-template tr.ct-' + id).fadeIn(500);
                        alert('Cập nhật thành công!');
                    },
                    error: function() {
                        alert('Đã có lỗi xảy ra!');
                    }
                });
            }
            else{
                alert('Đã có lỗi xảy ra!');
            }
        }
        
        /*
            SUB TEMPLATE TO CATEGORY ------------------------------------------------------------
        */
        function LoadTemplateOfCate() {
            var categoryId = $('.categoryIdInfo').val();
            ShowLoading();
            $.ajax({
                url: '/KMFadmin/AdminProductCategory/SubTemplateCate',
                data: { categoryId : categoryId, currentDate: GetTimeGlobal() },
                success: function(data) {
                    $('#sub-category-template').html('');
                    $('#sub-category-template').html(data);
                    HideLoading();
                },
                error: function() {
                    alert('Đã có lỗi xảy ra!')
                }
            });
        }

        $('#ProductCateTempMappingId').live('change', function(){
            var id = $(this).val();
            var categoryId = $('.categoryIdInfo').val();
            ShowLoading();
            $.ajax({                    
                url: '/KMFadmin/AdminProductCategory/GetSubCateTemplateList',
                data: { productCateTempMappingId :  id, categoryId : categoryId, currentDate : GetTimeGlobal() },
                dataType: 'text',
                success: function(data) {
                    if(data != null && data != ''){
                        $('table.table-sub-cate-template tr').eq(0).after(data);
                    }
                    else {
                        $('table.table-sub-cate-template tr.tsc-template-item').remove();
                    }
                    HideLoading();
                },
                error: function() {
                    alert('Đã có lỗi xảy ra!');
                }
            });
        });

        function AjaxResultDataAddSubCateTemplate(data){
            if (data.Success) {
                var id = data.Id;
                var categoryId = $('.categoryIdInfo').val();
                var currentDate = new Date();
                $.ajax({                    
                    url: '/KMFadmin/AdminProductCategory/GetSubCateTemplateItem',
                    data: { id :  id, categoryId : categoryId, currentDate : currentDate.getTime() },
                    success: function(data) {
                        $('.sub-cate-temlate-list > table tr').eq(0).after(data);
                        $('table.table-sub-cate-template  tr.sct-' + id).fadeIn(500);
                    },
                    error: function() {
                        alert('Đã có lỗi xảy ra!');
                    }
                });
            } else {
                alert('Đã có lỗi xảy ra!');
            }
        }

        function AjaxReturnDataDeleteSubCateTemplate(data) {
            if (data.Success) {
                $('table.table-sub-cate-template tr.sct-' + data.Id).fadeOut(500);
                $('table.table-sub-cate-template tr.sct-' + data.Id).remove();
            } else {
                alert('Đã có lỗi xảy ra!');
            }
        }

        function AjaxReturnDataLoadEditSubCateTemplate(data) {
            $('#wraper').after(data);     
        }

        function AjaxResultDataSubmitEditSubCateTemplate(data){
            if(data.Success){
                var id = data.Id;
                var currentDate = new Date();
                var categoryId = $('.categoryIdInfo').val();

                $.ajax({                    
                    url: '/KMFadmin/AdminProductCategory/GetSubCateTemplateItem',
                    data: { id :  id, categoryId : categoryId, currentDate : currentDate.getTime() },
                    success: function(data) {
                        $('table.table-sub-cate-template  tr.sct-' + id).remove();
                        $('table.table-sub-cate-template  tr').eq(0).after(data);
                        $('table.table-sub-cate-template  tr.sct-' + id).fadeIn(500);
                        alert('Cập nhật thành công!');
                    },
                    error: function() {
                        alert('Đã có lỗi xảy ra!');
                    }
                });
            } else {
                alert('Đã có lỗi xảy ra!');
            }
        }
    </script>
}